/**
 * date:2019/08/16
 * author:Mr.Chung
 * description:此处放layui自定义扩展
 * version:2.0.4
 */
window.rootPath = (function (src) {
    src = document.scripts[document.scripts.length - 1].src;
    return src.substring(0, src.lastIndexOf("/js/") + 1);
})();

window.plat_login_url = rootPath+"page/login.html";
window.api_url = "http://192.168.0.106:9999/";
window.token_heck_url = "admin/passport/checkToken";

layui.config({
    base: rootPath + "js/lay-module/",
    version: true
}).extend({
    miniAdmin: "layuimini/miniAdmin", // layuimini后台扩展
    miniMenu: "layuimini/miniMenu", // layuimini菜单扩展
    miniTab: "layuimini/miniTab", // layuimini tab扩展
    miniTheme: "layuimini/miniTheme", // layuimini 主题扩展
    miniTongji: "layuimini/miniTongji", // layuimini 统计扩展
    step: 'step-lay/step', // 分步表单扩展
    treetable: 'treetable-lay/treetable', //table树形扩展
    tableSelect: 'tableSelect/tableSelect', // table选择扩展
    iconPickerFa: 'iconPicker/iconPickerFa', // fa图标选择扩展
    echarts: 'echarts/echarts', // echarts图表扩展
    echartsTheme: 'echarts/echartsTheme', // echarts图表主题扩展
    wangEditor: 'wangEditor/wangEditor', // wangEditor富文本扩展
    layarea: 'layarea/layarea', //  省市县区三级联动下拉选择器
});

layui.use(['jquery', 'layer'], function () {
    var $ = layui.jquery,
        layer = layui.layer;
		
    /**
     * 判断本地是否开启localStorage，在浏览器隐私模式下不可读取
     */
    if(!window.Storage || !window.localStorage || !window.localStorage instanceof Storage){
        layer.alert("未开启浏览器本地存储localStorage，请联系系统管理人员！");
        return;
    }
    var plat_login_token = window.localStorage.getItem('LOGIN_AUTH_TOKEN');

    $.ajaxSetup({
		async:false, // 默认true，异步，此处我们使用同步
		cache:false, // 默认true，不使用缓存
        headers: {
            'X-AUTH-TOKEN': plat_login_token, //每次ajax请求时把token带过去
        },
		beforeSend:function(xhr, settings){
		    if(settings.url.indexOf(".less?_=")<0){
                settings.url = window.api_url + settings.url;
            }
		},
		error:function(xhr, textStatus, errorThrown){
			//xhr.readyState 当前状态,0-未初始化，1-正在载入，2-已经载入，3-数据进行交互，4-完成。
			//xhr.responseText 是详细的信息
			switch(xhr.status) {
				case(500):layer.alert("服务器系统内部错误【返回信息："+xhr.responseText+"】");break;
				case(503):layer.alert("服务器系统内部错误【返回信息："+xhr.responseText+"】");break;
				case(404):layer.alert("找不到访问地址【返回信息："+xhr.responseText+"】");break;
				case(428):layer.alert(JSON.parse(xhr.responseText).msg);break;
				default:layer.alert("系统繁忙，请稍后再试...【状态码："+xhr.status+"，状态："+xhr.readyState+"，错误信息："+xhr.statusText+"，返回响应信息："+xhr.responseText+"，请求状态："+textStatus+"，错误信息："+errorThrown+"】");
			}
		}
    });

    if(plat_login_token==undefined || plat_login_token==null || plat_login_token==''){
        if(window.location!=plat_login_url){
            top.location = plat_login_url;
        }
    }else{
        $.ajax({
            url: window.token_heck_url,
            data: {"x-auth-token":plat_login_token},
            type:'post',
            dataType:'json',
            success:function(result){
                if(result.code==1){
                    window.localStorage.removeItem('LOGIN_AUTH_TOKEN');
                    if(window.location!=plat_login_url){
                        top.location = plat_login_url;
                    }
                }else{
                    if(window.location==plat_login_url){
                        top.location = window.rootPath;
                    }else{
                        var login_auth_user = JSON.parse(window.localStorage.getItem('LOGIN_AUTH_USER_OBJECT'));
                        var authed_menus = login_auth_user.permissions.user_permission_menu_details;
                        var authed_buttons = login_auth_user.permissions.user_permission_auth_details;
                        var this_full_url = window.location+"";
                        this_full_url = this_full_url.replace(window.rootPath+"", "");
                    }
                }
            }
        });
    }
});